Systems and methods for providing variable haptic feedback

ABSTRACT

A system is provided for generating variable haptic feedback. The system comprises a first haptic feedback device configured to generate haptic feedback according to a received output signal, an input device configured to receive instructions from a remote source, the instructions comprising a haptic feedback output identifier, and a memory device for storing a plurality of haptic feedback profiles, the haptic feedback profiles defining unique haptic feedback patterns characterized at least by a duration and intensity of feedback to be generated by the first haptic feedback device, and said haptic feedback profiles being associated with a haptic feedback output identifier. The system also includes a processor configured to generate and transmit an output signal to the first haptic feedback device according to a haptic feedback profile associated with a received haptic feedback output identifier, said output signal comprising a haptic feedback pattern defined by said haptic feedback profile.

PRIORITY CLAIM

This disclosure is a continuation of U.S. patent application Ser. No.15/336,765, filed on Oct. 27, 2016, currently pending, which claims aright of priority under 35 U.S.C. § 119 to U.S. provisional applicationNo. 62/247,441, filed on Oct. 28, 2015. The aforementioned applicationsare incorporated herein by reference in their entireties.

BACKGROUND

Remote and mobile electronic computing devices provide convenient meansfor performing many functions over the Internet, including socialnetworking, checking e-mail, conducting electronic transactions, etc.Many of these functions are performed using a dedicated applicationstored on or accessible to the computing device, general browserapplication, or other means for accessing the Internet. In the mobilebanking industry, customers are increasingly turning to remote or mobilecomputing devices to conduct transactions with their financial serviceprovider. For example, a user may operate a properly configuredcomputing device to conduct or engage in certain mobile or onlinecommerce or banking activities. But while users may enjoy theconvenience of now remotely performing some banking activities using acomputing-device, some users are still uncertain regarding confirmationof a transaction or confirmation of other steps completed in a remotetransaction. Thus, mobile computing devices and applications needimproved feedback mechanisms to provide distinguishable indications andto enhance the user experience.

Computing device applications typically provide visual and or audioindications to users to notify the user of their progress during aprocess or to provide other indications as part of the user's experiencewhile interacting with the application. Some applications may alsoprovide tactile or haptic feedback to provide certain indications. Thehaptic feedback provided by current systems, however, is typicallygenerated with a constant timing, duration and intensity, and thus isincapable of providing meaningful distinguishing indications.

Thus, there is a need for systems and methods providing advancedfeedback techniques to a user using a computing device. In particular,there is a need for systems and methods for providing variable hapticfeedback to a user using a computing device.

SUMMARY

Disclosed embodiments provide systems and methods for generatingvariable haptic feedback to a user using an electronic computing device.

Consistent with a disclosed embodiment, a system is provided forgenerating variable haptic feedback. The system comprises a first hapticfeedback device configured to generate haptic feedback according to areceived output signal, an input device configured to receiveinstructions from a remote source, the instructions comprising a hapticfeedback output identifier, and a memory device for storing a pluralityof haptic feedback profiles, the haptic feedback profiles definingunique haptic feedback patterns characterized at least by a duration andintensity of feedback to be generated by the first haptic feedbackdevice, and said haptic feedback profiles being associated with a hapticfeedback output identifier. The system also includes a processorconfigured to generate and transmit an output signal to the first hapticfeedback device according to a haptic feedback profile associated with areceived haptic feedback output identifier, said output signalcomprising a haptic feedback pattern defined by said haptic feedbackprofile.

A system is also provided for generating variable haptic feedback thatcomprises a first haptic feedback device configured to generate hapticfeedback according to a received output signal, a memory device storinga plurality of haptic feedback profiles and a set of instructions, thehaptic feedback profiles defining unique haptic feedback patternscharacterized at least by a duration and intensity of feedback to begenerated by the first haptic feedback device. The system also includesa processor configured to execute the instructions to receive aninstruction signal to generate haptic feedback, determine a hapticfeedback profile based on the received instruction signal, generate anoutput signal for controlling the first haptic feedback device based onthe determined haptic feedback profile, and provide the output signal tothe first haptic feedback device.

A non-transitory computer-readable medium is also provided according tothe disclosed embodiments. The non-transitory computer-readable mediumstores instructions that, when executed by a processor, cause theprocessor to perform operations including receiving an instructionsignal to generate haptic feedback; identifying, based on the receivedinstruction signal, a haptic feedback profile from among a plurality ofhaptic feedback profiles stored in a memory device, the haptic feedbackprofiles defining unique haptic feedback patterns characterized at leastby a duration and intensity of feedback to be generated by a firsthaptic feedback device configured to generate haptic feedback accordingto a received signal; generating a signal for controlling the firsthaptic feedback device based on the identified haptic feedback profile;and providing the signal to the haptic feedback device.

A computer-implemented method is also provided for generating variablehaptic feedback. The method includes receiving, by a processor, aninstruction signal to generate haptic feedback; identifying, based onthe received instruction signal, a haptic feedback profile from among aplurality of haptic feedback profiles stored in a memory device, thehaptic feedback profiles defining unique haptic feedback patternscharacterized at least by a duration and intensity of feedback to begenerated by a first haptic feedback device configured to generatehaptic feedback according to a received signal; generating a signal forcontrolling the first haptic feedback device based on the identifiedhaptic feedback profile; and providing the signal to the haptic feedbackdevice.

Consistent with another disclosed embodiment, a system is provided forgenerating variable haptic feedback. The system comprises an inputdevice, said input device configured to receive indications of anexternal event, an output device, said output device configured totransmit a haptic feedback output identifier to an end receiver, and amemory device, said memory device comprising a haptic feedback outputidentifier database, said haptic feedback output identifier databaseassociating a plurality of haptic feedback output identifiers with aplurality of potential external events. The system also includes aprocessor, said processor configured to determine a haptic feedbackoutput identifier based on a received external event indicator, andinstruct said output device to transmit said haptic feedback outputidentifier to an end receiver.

The foregoing general description and the following detailed descriptionare exemplary and explanatory only and are not restrictive of theclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate several embodiments and, togetherwith the description, serve to explain the disclosed principles. In thedrawings:

FIG. 1 is a diagram of an exemplary system that may be used to providevariable haptic feedback to a user, consistent with disclosedembodiments.

FIG. 2 is a diagram of an exemplary computing device, consistent withdisclosed embodiments.

FIG. 3 is a diagram of an exemplary electronic card, consistent withdisclosed embodiments.

FIG. 4 is a flowchart of an exemplary variable haptic feedback process,consistent with disclosed embodiments.

DESCRIPTION OF THE EMBODIMENTS

The present disclosure provides systems and methods for generatingvariable haptic feedback to a user of a computing device. “Hapticfeedback” may include feedback perceptible to a user via the sense oftouch by applying, for example, forces, vibrations, or other movementsto the user. The haptic feedback may be controlled to provide a signalindicative of a real world sound, speech or experience that may coincidewith a user's interaction with the computing device or other activitiesperformed using the computing device. Haptic feedback in the disclosedembodiments may be output with varied timing, duration, patterns, orintensity using a single haptic feedback device or in conjunction withadditional haptic feedback devices. The haptic feedback may be generatedbased on a haptic feedback profile identifying haptic feedback timing,duration, pattern or intensities that mimic recognizable sounds or thatprovide unique indications personal to the user or the user'sinteraction with a computing device. Numerous different haptic feedbackprofiles may be defined for a variety of user interactions with anapplication executed on the computing device. In some embodiments,variable haptic feedback may be provided together with a sound or visualindication.

Additional aspects of the disclosed embodiments are set forth below inthis disclosure. Reference will now be made in detail to exemplaryembodiments, examples of which are illustrated in the accompanyingdrawings and disclosed herein. Wherever convenient, the same referencenumbers will be used throughout the drawings to refer to the same orlike parts. In the following description, certain aspects andembodiments of the present disclosure will become evident. It should beunderstood that the disclosure, in its broadest sense, could bepracticed without having one or more features of these aspects andembodiments. It should also be understood that these aspects andembodiments are merely exemplary.

FIG. 1 is a block diagram of an exemplary system 100 for performingoperations consistent with the disclosed embodiments. In someembodiments, system 100 may include one or more product/service providersystems 110, one or more client devices 130, one or more users 131, anelectronic card 135, and a network 120.

In some embodiments, variable haptic feedback may be provided to user131 operating a client device 130. Client device 130 may be a desktopcomputer, laptop, tablet, smartphone, multifunctional watch, pair ofmultifunctional glasses, tracking device, electronic card, electronicwearable device, or any suitable device with computing capability.Client device 130 may include one or more haptic devices for generatinghaptic feedback and executable software instructions for controlling thehaptic device and for performing other aspects of the disclosed methods.In some embodiments, client device 130 includes executable softwareinstructions provided as part of an application, or “app,” associatedwith a product/service provider (included as part of 110) for performingoperations associated with the product/service provider. Aproduct/service provider may include a financial service providerassociated with a financial service account. In some embodiments, thedisclosed variable haptic feedback methods may be performed inassociation with user 131's interaction with the app or applicationexecuted on client device 130. Client device 130 is discussed inadditional detail with respect to FIG. 2, below.

In some embodiments, user 131 may posses an electronic card 135associated with a financial service entity. Electronic card 135 maycomprise a credit card or debit card, or other membership oridentification type card. Electronic card 135 may include certainhardware and software components to provide variable haptic feedback touser 131 according to the disclosed embodiments. Electronic card 135 isdiscussed in additional detail with respect to FIG. 3, below.

As further described herein, the disclosed methods may provide variablehaptic feedback to user 131 operating client device 130, usingelectronic card 135, etc. to perform a transaction or other interactionwith a product/service provider of product/service provider system 110.Product/service provider system 110 may be associated with any entitywith which user 131 may communicate or interact with via, for example,client device 130. Product/service provider system 110 may providefunctionality associated with a website or other network locationaccessible to client device 130 executing a browser application,dedicated app, or other program for interacting with product/serviceprovider system 110. In some embodiments, product/service providersystem 110 may be associated with a financial service entity thatprovides, maintains, manages, or otherwise offers financial servicesaccessible via client device 130.

Product/service provider system 110 may include one or more computingdevices (e.g., computer(s), server(s), etc.), memory storing data and/orsoftware instructions (e.g., database(s), memory devices, etc.), andother known computing components configured to provide services toand/or interact with other components of system 100 (shown or notshown), such as client device 130, over network 120. In someembodiments, the computing components may include one or more processorsconfigured to execute software instructions stored on one or more memorydevices to perform operations consistent with the disclosed embodiments.In some embodiments, product/service provider system 110 may take theform of a server, special purpose computing device, a mainframecomputer, or any combination of these components. In certainembodiments, product/service provider system 110 (or a system includingproduct/service provider system 110) may be configured as a particularapparatus, system, and the like based on the storage, execution, and/orimplementation of the software instructions that perform one or moreoperations consistent with the disclosed embodiments. Product/serviceprovider system 110 may be a standalone system, or it may be part of asubsystem, which may be part of a larger system. Product/serviceprovider system 110 may be a single server or may be configured as adistributed computer system including multiple servers or computers thatinteroperate to perform one or more of the processes and functionalitiesassociated with the disclosed embodiments. The disclosed embodiments arenot limited to any particular configuration of product/service providersystem 110 or system 100.

Product/service provider system 110 and client device(s) 130 and/orelectronic card 135 may be configured to communicate with each otherover a network 120. Network 120 may comprise any type of computernetworking arrangement configured to provide communications or exchangedata, or both, between components of system 100. For example, network120 may include any type of network (including infrastructure) thatprovides communications, exchanges information, and/or facilitates theexchange of information, such as the Internet, a private data network, avirtual private network using a public network, a Wi-Fi network, a LANor WAN network, and/or other suitable connections that may enableinformation exchange among various components of system 100. Network 120may also include a public switched telephone network (“PSTN”) and/or awireless cellular network. Network 120 may be a secured network orunsecured network. In some embodiments, one or more components of system100 may communicate directly through a dedicated communication link(s).

It is to be understood that the configuration of the functional buildingblocks of system 100 have been defined herein for the convenience of thedescription. The components and arrangement of the components includedin system 100 may vary. For example, in some embodiments, system 100 mayinclude other components that perform or assist in the performance ofone or more processes consistent with the disclosed methods. System 100includes a number of components generally described as computingdevices. Each of the computing devices may include any number ofcomputing components particularly configured as a special purposecomputing device to perform the functionality disclosed herein.Alternatives (including equivalents, extensions, variations, deviations,etc., of those described herein) will be apparent to persons skilled inthe relevant art(s) based on the teachings contained herein. Suchalternatives fall within the scope and spirit of the disclosedembodiments.

FIG. 2 shows an exemplary configuration of client device 130, consistentwith disclosed embodiments. Client device 130 may enable a user 131 tooperate client device 130 to perform remote interactions or mobiletransactions with product/service provider system 110, for example, orreceive information from product/service provider system 110. In someembodiments, client device 130 may be a personal computing device. Forexample, client device 130 may be a smartphone, a laptop or notebookcomputer, a tablet, or any mobile or wearable device with computingability, or any combination of these computers and/or affiliatedcomponents.

Client device 130 may include one or more processors configured toexecute software instructions stored in memory, such as memory 240included in client device 130. Client device 130 may include softwarethat when executed by a processor (e.g., processor 230) performs knownInternet-related communication, content display processes, and otherinteractive processes for a user of client device 130. For instance,client device 130 may execute a browser or related mobile displaysoftware that generates and displays interfaces including content on adisplay device 210 included in, or in communication with, client device130. Client device 130 may be a mobile device that executes mobiledevice applications and/or mobile device communication software thatallows client device 130 to communicate with product/service providersystem 110 and other components over network 120, and generates anddisplays content in interfaces via a display device 210 included inclient device 130. The disclosed embodiments are not limited to anyparticular configuration of client device 130. Client device 130 mayinclude any arrangement of one or more computing devices configured toperform one or more operations consistent with disclosed embodiments.

Client device 130 may be configured with storage that stores one or moreoperating systems that perform known operating system functions whenexecuted by one or more processors. By way of example, the operatingsystems may include Microsoft Windows™, Unix™, Linux™, Android™, Apple™Mac OS operating systems, or other types of operating systems.Accordingly, embodiments of the disclosed invention may operate andfunction with computer systems running any type of operating system.Client device 130 may also include communication software that, whenexecuted by a processor, provides communications with network 120, suchas Web browser software, tablet or smart handheld device networkingsoftware, etc.

Client device 130 may include a display 210 for displaying information.Display 210 may include, for example, liquid crystal displays (LCD),light emitting diode screens (LED), organic light emitting diode screens(OLED), a touch screen, and other known display devices. Display 210 maydisplay various information to user 131. For example, display 210 maydisplay an interactive interface to user 131 enabling user 131 tooperate client device 130 to perform certain aspects of the disclosedmethods. Display 210 may display touchable or selectable options foruser 131 to select, and may receive user selection of options through atouch screen or I/O devices 220.

I/O devices 220 may include one or more devices that allow client device130 to send and receive information or interactions from user 131 oranother device. For example, I/O devices 220 may include variousinput/output devices, such as a keyboard, a mouse-type device, a gesturesensor, an action sensor, a physical button, switch, microphone,touchscreen panel, stylus, etc. that may be manipulated by user 131 toinput information using client device 130. I/O devices 220 may alsoinclude an audio output device, such as a speaker configured to providesound and audio feedback to user 131 operating client device 130. Insome embodiments, I/O devices 220 may include a light emittingcomponent, such as an LED or other component capable of providing avisible signal to user 131. I/O devices 220 may also include one or morecommunication modules (not shown) for sending and receiving informationfrom other components in system 100 by, for example, establishing wiredor wireless connectivity between client device 130 and network 120.Exemplary communication modules as I/O devices 220 may include, forexample, a short-range or near field wireless communication modem, aWi-Fi communication modem, or a cellular communication modem.

In the disclosed embodiments, client device 130 may include one or morehaptic devices 222, 224 configured to provide haptic feedback to user131 operating client device 130. Haptic devices 222, 224 may beconfigured to provide haptic feedback in the form of vibrations,movements, or other forces perceptible to user 131 by a sense of touch.The vibrations, movements, or other forces may be applied to a housingof client device 130 or as force feedback to one or more I/O devices 220such as a button or keyboard, for example. Haptic devices 222, 224 maybe provided in various locations and/or configured within client device130 to achieve particular effects. For example, in some embodiments,haptic devices 222, 224 may be provided such that haptic feedback isexperienced on a single surface or edge of client device 130, in alocalized portion of client device, etc. Haptic devices 222, 224 may beprovided throughout client device 130 to generate unique effects whenoperated in conjunction, such as to provide haptic feedback evokingmovement across client device 130 (e.g., engaging/disengaging multiplehaptic devices 222, 224 dispersed within client device 130 in apredetermined sequence from first end of client device 130 to a secondend). Any number of haptic devices 222, 224 or other sensory feedbackdevices may be included in client device 130.

Haptic devices 222, 224 may include any devices capable of providinghaptic feedback in the form of motion, vibration, or other forces, forexample. In some embodiments, haptic devices 222, 224 may include anydevices capable of being controlled to exhibit variable speed vibrationsor movements, and with variable intensities. Exemplary haptic devices222, 224 may include an electric motor with an off-centered rotatablemass or weight that generates vibrations when rotated. Other exemplaryhaptic devices may include an electromagnetic actuator, which mayinclude a magnetic mass surrounded by a coil to which an electric fieldmay be applied to drive the magnetic mass to provide vibrations based onchanges in the electric field. A voice coil is another example of anelectromagnetic actuator that may be used to provide haptic feedback.Other haptic devices 222, 224 may include a piezoelectric actuator ormotor that can generate movement based on an applied electric field. Anycombination of these and other exemplary devices capable of generatinghaptic feedback may be implemented in client device 130. In someembodiments, haptic devices 222, 224 may be configured to provide hapticfeedback perceptible to a user at variable speeds or intensities.Operation of haptic devices 222, 224 may be effected by a control signalof varying amplitude, duration, or frequency to modulate the speed andintensity of the haptic feedback generated by haptic devices 222, 224according to a desired pattern. Numerous control signals may be definedaccording to a plurality of haptic feedback profiles representing thedesired patterns of haptic feedback.

Client device 130 may include at least one processor 230, which may beone or more known computing processors, such as a microprocessor fromthe Snapdragon™ family manufactured by Qualcomm™, the Exynos™ familymanufactured by Samsung™, or any of various processors manufactured byApple™, for example. Processor 230 may constitute a single core ormultiple core processor that executes parallel processes simultaneously.For example, processor 230 may be a single core processor configuredwith virtual processing technologies. In certain embodiments, processor230 may use logical processors to simultaneously execute and controlmultiple processes. Processor 230 may implement virtual machinetechnologies, or other known technologies to provide the ability toexecute, control, run, manipulate, store, etc. multiple softwareprocesses, applications, programs, etc. In another embodiment, processor230 may include a multiple-core processor arrangement (e.g., dual core,quad core, etc.) configured to provide parallel processingfunctionalities to allow client device 130 to execute multiple processessimultaneously. One of ordinary skill in the art would understand thatother types of processor arrangements could be implemented that providefor the capabilities disclosed herein. The disclosed embodiments are notlimited to any type of processor(s) configured in client device 130.Processor 230 may execute various instructions stored in client device130 to perform various functions of the disclosed embodiments describedin greater detail below. In some embodiments, processor 230 isconfigured to provide control or command signals to one or more ofhaptic devices 222, 224 based on a haptic feedback profile. In someembodiments, a haptic feedback profile may also indicate audio or visualfeedback to be provided to a user using a speaker or lighting componentprovided as I/O devices 220, for example, or display 210.

Client device 130 may include a memory 240, which may be a volatile ornon-volatile, magnetic, semiconductor, optical, removable,non-removable, or other type of storage device or tangible (i.e.,non-transitory) computer-readable medium. Memory 240 may store one ormore programs 250. Programs 250 may include operating systems (notshown) that perform known operating system functions when executed byone or more processors. Disclosed embodiments may operate and functionwith computer systems running any type of operating system.

Client device 130 may be a device that executes mobile applications forperforming operations consistent with disclosed embodiments, such as atablet, smartphone, or other mobile computing device. Thus, in someembodiments, client device 130 may have an application 252 installedthereon, which may enable client device 130 to communicate withproduct/service provider system 110 via network 120 and perform aspectsof the disclosed methods. For example, client device 130 may connect toproduct/service provider system 110 through the use of browser softwareto access and receive information or perform other operations associatedwith a product/service provider. In some embodiments, the disclosedvariable haptic feedback methods may be initiated in response to userinteraction with application 252 executed on client device 130. Certainaspects of the disclosed methods for providing variable haptic feedbackmay be provided as part of an application 252.

For example, in some embodiments, application 252 may provide aninstruction to generate haptic feedback based on a user's interactionwith the application 252. In other embodiments, application 252 mayreceive an instruction to generate haptic feedback in a communicationwith product/service provider system 110. Application 252 may alsoinclude a software module for determining a command or control outputsignal to be provided to haptic device 222, 224, or to a haptic driver254, 256 based on the generated or received instruction. In someembodiments, the command or control output signal may be determinedbased on a haptic feedback profile defining a pattern and/or intensityof haptic feedback to be generated by one or more haptic devices 222,224. In some embodiments, the instruction received from product/serviceprovider system 110 may include a haptic feedback output identifierassociated with a haptic feedback profile.

In some embodiments, programs 250 may include one or more softwaremodules or haptic drivers 254 and 256 including sets of instructions forcontrolling operation of haptic devices 222, 224, respectively. In someembodiments, a haptic driver may be provided for each haptic device. Inother embodiments, a single haptic driver may be provided for all hapticdevices. In still other embodiments, a haptic driver may be provided foreach type of haptic device. Haptic drivers 254, 256 may controloperation of haptic devices 222, 224 according to a plurality of hapticfeedback profiles, which may be stored in memory 240. The hapticfeedback profiles may define commands or control output signals thatrepresent patterns and/or intensities of haptic feedback to be generatedby one or more haptic feedback devices. In some embodiments, a hapticfeedback profile may define an operation incorporating multiple feedbackdevices. Thus, one or more haptic drivers 254, 256 may be executed incoordination (e.g., simultaneously, and/or sequentially, and/orintermittently, etc.), to provide a desired effect achieved by acombined effect of haptic feedback from the multiple haptic devices 222,224. While described above as a software module stored in memory 240, inother embodiments, a haptic driver may be configured as a drive circuitor other hardware configuration. In other implementations, a hapticdriver may also be provided as firmware for haptic devices 222, 224.

FIG. 3 shows a diagram of an exemplary electronic card 135, consistentwith disclosed embodiments. In some embodiments, electronic card 135 maybe the approximate size and shape of a traditional transaction card,such as a credit card. Electronic card 135 may have embedded electronicsfor performing aspects of the disclosed variable haptic feedbackmethods. As shown, electronic card 135 may include processor 310,display element 320, memory 330, power source 340, one or more sensors350, one or more haptic feedback device(s) 355, input devices 360,antenna 370, and magnetic stripe 380. In some embodiments, electroniccard 135 may include more or fewer components than shown in FIG. 3.

Processor 310 may comprise one or more known or specialized processingdevices, of sufficient size and form factor to fit within electroniccard 135 when configured to be about the size of a traditionaltransaction card. In some embodiments, processor 310 may include anyconfiguration capable of performing functions related to the disclosedmethods such as, for example, generating variable control or commandsignals for a haptic device(s) 355, which may be generated based onhaptic feedback profiles stored in memory 330. Processor 310 may alsocontrol power source 340, send and receive data, read from and write tomemory 330, receive and analyze data from sensors 350, generateinformation for presentation on display 320, receive and process inputfrom I/O devices 360, and any other functions consistent with thedisclosed embodiments.

Haptic device(s) 355 may be configured and/or disbursed acrosselectronic card 135 similar to haptic devices 222, 224 of client device130 described above with respect to FIG. 2 for generating variablehaptic feedback to a user possessing electronic card 135 based on ahaptic feedback profile stored in memory 330. Other aspects ofelectronic card 135 may include a display 320, which may comprise ascreen, indicator light, or other appropriate device for displaying astatus or message to user 131. In some embodiments, display 320 mayinclude a small LCD screen, e-ink screen, or OLED display or one or moreLEDs. In some embodiments, display 320 may provide notifications,prompts, and/or messages to user 131. Such notifications may begenerated as defined by a haptic feedback profile according to someembodiments.

Memory 330 may include a volatile or non-volatile, magnetic,semiconductor, or other type of storage device or tangible (i.e.,non-transitory) computer-readable medium that stores one or more hapticfeedback profiles, user information, and other computer-executableinstructions.

Power source 340 may include a power storage device such as a battery orcapacitor, a power receiver such as an inductive power coil or awireless power receiver, a power generator such as a solar or kineticpower generator, or any combination thereof. In some embodiments, powersource 340 may include one or more other known devices capable ofgenerating, receiving, and/or storing electrical energy.

Sensors 350 may include one or more devices capable of sensing theenvironment around electronic card 135 and/or movement of electroniccard 135. In some embodiments, sensors 350 may include, for example, anaccelerometer, a shock sensor, a gyroscope, a position sensor, amicrophone, an ambient light sensor, a temperature sensor, and/or aconductivity sensor.

Input devices 360 may include one or more buttons, switches, or otherforms of input mechanisms for receiving an indication or instructionfrom user 131. In some embodiments, input devices 360 may receive asequence or series of inputs, to cause processor 310 to perform variousfunctions associated with the disclosed embodiments.

In some embodiments, electronic card 135 may include antenna 370, fortransmitting and/or receiving data from one or more external locations.Antenna 370 may comprise a short-range wireless transceiver, or anear-field communication chip. Antenna 370 may be configured tocommunicate with client device 130 or other systems such as acontactless card reader or other sensors configured to detect thepresence of electronic card 135.

In some embodiments, electronic card 135 may include magnetic stripe380. In some embodiments, magnetic stripe 380 may be controlled byprocessor 310. For example, processor 310 may write, clear, and rewritemagnetic stripe 380, to provide particular account information.

Client device 130 and electronic card 135, described above, are onlyexemplary devices for providing variable haptic feedback to a useraccording to the disclosed embodiments. Other devices capable ofimplementing suitable computing components and that may be manipulatedby a user may also be used to provide variable haptic feedback accordingto the disclosed embodiments. For example, in some embodiments, variablehaptic feedback may be provided to a user in the form of a stylus,mouse, remote control, and/or other input devices as may be apparentfrom the disclosed embodiments.

The following processes are directed to various embodiments forproviding variable haptic feedback to user 131, based on the user'sinteraction with client device 130 and or product/service providersystem 110. The following processes may be performed by various aspectsand components of client device 130 or product/service provider system110 as is apparent from the disclosure.

FIG. 4 illustrates a flow chart of a variable haptic feedback process400 for providing variable haptic feedback to a user according to someembodiments. In some embodiments, process 400 may be executed, in part,in conjunction with a user's interaction with an application, such asapplication 252 executed on client device 130. In some embodiments, thevariable haptic feedback provided to a user interacting with application252 may be specific to a particular application 252 or a particularproduct/service provider system 110. Thus, in some embodiments, a usermay associate certain variable haptic feedback as being unique toapplication 252 or a particular product/service provider system 110.Thus, variable haptic feedback process 400 may be implemented todistinguish application 252 or a particular product/service providersystem 110 and to enhance a user's experience when interacting withapplication 252.

For ease of discussion, variable haptic feedback process 400 isdescribed with respect to a user's interaction with a financial servicesapplication 252 executed on client device 130, and/or electronic card135. In this embodiment, financial services application 252 isassociated with product/service provider system 110 of a financialservices provider. It should be understood, however, that hapticfeedback process 400 is not limited to the financial services industryand, instead, may be employed in any environment where haptic feedbackmay provide feedback information of any kind to a user. Suchenvironments could include other non-financial applications, to providehaptic feedback to indicate confirmation of a communication orsuccessful task completion. Some embodiments may provide haptic feedbackas confirmation of a user's identity to indicate successfulauthentication or verification, for example. This could be used inenvironments providing restricted access to buildings and spaces, suchas hotels, apartments, or other restricted access locations, based onpresentation of a credential including a key device or electronic card.The presentation credential may be configured to provide haptic feedbackto indicate the approval or decline of entry access and other distinctindications. Process 400 may also be used to provide haptic feedbackcommunicating situational awareness, location information, wayfinding,or other cautionary messaging in regard to personal safety based onpositional information received from beacons or other positionaltracking methods.

At operation 410, financial services application 252 may receive aninstruction signal to generate variable haptic feedback. Prior to or inresponse to first operation 410, financial services application 252 maybe executed on client device 130 to communicate over network 120 withproduct/service provider system 110, which may be a financial servicesprovider.

In some embodiments, the product/service provider system 110 may includeone or more communication interfaces or input/output devices configuredto communicate remotely with client device 130 via network 120 toreceive one or more indications of external events associated with theuser's interaction with product/service provider system 110. Theproduct/service provider system 110 may also include a memory device,including a haptic feedback identifier database, for example, thatstores associations of a plurality of haptic feedback output identifierscorresponding to a plurality of potential external events associatedwith the user's interaction. Responsive to receiving an indication of anexternal event, a processor associated with product/service providersystem 110 may determine a haptic feedback output identifier based onthe received external event indicator to be transmitted in aninstruction signal to the client device 130. The processor may instructa communication interface or output device to transmit the determinedhaptic feedback output identifier to the client device 130 as part of aninstruction signal, for example.

In some embodiments, the instruction signal may be generated and/orreceived (in whole or in part) by client device 130. For example, infirst operation 410, financial services application 252 may receive viaa communication module as I/O device 220, for example, instructions oran instruction signal communicated from product/service provider system110 associated with beginning a transaction or other interaction withthe financial service provider. For example, the first instructionsignal may be received upon authenticating a user to access financialservices application 252 and/or product/service provider system 110. Thefirst instruction signal may indicate an instruction for the clientdevice 130 (or electronic card 135) to generate haptic feedback to auser according to a haptic feedback profile. The instructions orinstruction signal received from product/service provider system 110 mayinclude a haptic feedback output identifier associated with a hapticfeedback profile stored on the client device 130. The haptic feedbackprofile may be associated with product/service provider system 110,associated with the user identified in operation 420, and/or associatedwith the particular client device 130 (or electronic card 135)configuration receiving the instruction signal, etc.

The first instruction signal may, for example, include a haptic feedbackoutput identifier to indicate a desired haptic feedback profilecorresponding to a “welcome announcement” welcoming a user to theapplication, a “confirmation announcement” confirming the user'sauthentication by product/service provider system 110, a “signatureannouncement” identifying a proprietary recognizable signature of theproduct/service provider system 110, or any other suitable announcement.In some embodiments, the first instruction signal may be provided aspart of a display signal, audio signal, or other signal providinginstructions to client device for displaying or outputting content to auser.

In operation 420, a corresponding haptic feedback profile is identifiedbased on the received instruction signal. In some embodiments, theinstruction signal may include information defining the haptic feedbackprofile. In other embodiments, the received instruction signal mayinclude a haptic feedback output identifier corresponding to a hapticfeedback profile. The identifier may be used to determine a desiredhaptic feedback profile from a plurality of haptic feedback profilesstored in memory 240, for example. In this example, a haptic feedbackprofile corresponding to the “welcome announcement,” “confirmationannouncement,” or “signature announcement” may be identified based onthe received instruction signal. By way of example, a haptic feedbackprofile associated with a “welcome announcement” may identify a patternand/or intensity of variable haptic feedback that mimics or emulates thephonetic sequence of an announcement welcoming the user to theapplication, such as the phonetic sequence for “welcome.” In otherwords, in this embodiment, a timing pattern, duration, and intensity forgenerating haptic feedback as defined in the haptic feedback profile mayemulate spoken words. Similarly, a haptic feedback profile associatedwith a “confirmation announcement” may identify a pattern and/orintensity of variable haptic feedback that mimics or emulates anannouncement either confirming (e.g., “authentication granted”) ordenying the user's authentication (e.g., “please try again”) to interactwith an application. And a haptic feedback profile associated with a“signature announcement” may identify a pattern and/or intensity ofvariable haptic feedback that uniquely identifies the product/serviceprovider, for example, with which the user is interacting via anapplication. In some embodiments, for example, the “signatureannouncement” may correspond to a succession of distinct pitchesassociated with the product/service provider. In other embodiments, the“signature announcement” may correspond to a logo, symbol, insignia,graphic, or other distinct mark associated with the product/serviceprovider. For example, the product/service provider may be visuallyidentified by a “swoosh,” and the haptic feedback profile associatedwith a “signature announcement” may identify the timing, duration,patterns, and/or intensity for the haptic device(s) 222, 224 (or hapticdevice(s) 355) to generate coordinated variable haptic feedback betweenthe devices to emulate one or more visual characteristics of the“swoosh,” as discussed below.

Upon identifying a haptic feedback profile in operation 420, a commandand/or control output signal may be generated for a haptic deviceaccording to the haptic feedback profile (operation 430). In someembodiments, a command signal may be generated when, for example, ahaptic device 222 and/or 224 includes firmware that may in turn generatea corresponding control signal for controlling operation of a hapticdevice 222, 224. A command signal may also be provided to a hapticdriver 254, 256 that may in turn generate a control signal forcontrolling operation of a haptic device 222, 224. In other embodiments,a control signal may be generated based on the identified hapticfeedback profile for controlling operation of a haptic device 222, 224.In some embodiments, one or more command and/or control signalscorresponding to one or more haptic devices 222, 224 may be generatedfor outputting a coordinated variable haptic feedback to a user toproduce a desired effect.

In operation 440, the generated command or control signal (or signals)is provided to one or more haptic devices to control the haptic feedbackoutput to a user based on the haptic feedback profile. Additionally, insome embodiments a display signal and/or audio signal may be generatedaccording to an identified haptic feedback profile for outputting audioand or visual feedback to a user in conjunction with haptic feedback ofthe disclosed methods.

Process 400 may be repeated to generate additional haptic feedbackaccording to subsequent events or interactions with the financialservices application 252, for example. In some embodiments, aninstruction signal to generate haptic feedback may be received based ona number of different interactions, such as to indicate completion of atransaction using the financial services application 252, for example.One or more haptic feedback profiles may be defined according todifferent types of transactions. In some embodiments, a debittransaction may be associated with a haptic feedback profile thatemulates a cash register's “cha-CHING” sound. Another haptic feedbackprofile that emulates a spoken sound of “ta da” or a confirmation phrase(“payment sent,” “deposit approved,” etc.) may be associated withcompletion of a purchase transaction. Numerous other haptic feedbackprofiles may be generated to correspond to any number of events orinteractions associated with the financial services application. Somehaptic feedback profiles may also correspond to user notifications, suchas to warn the user that an account balance is running low, for example.In some embodiments, the haptic feedback profile may comprise amathematical algorithm for converting text, sounds, visual images, etc.to timing, duration, patterns, and/or intensities for generatingcoordinated variable haptic feedback that emulates the text or visualimages. The above example events are provided by way of example only.Numerous other events or interactions with an application may be a causeto provide a desirable variable haptic feedback to a user.

As indicated above, in some embodiments, process 400 may be similarlyperformed by electronic card 135. For example, electronic card 135 mayreceive an instruction signal in operation 410 via antenna 370. Theinstruction signal may be received from a client device 130 or fromother known card readers or sensors configured to communicate withelectronic card 135. In other embodiments, processor 310 may generate aninstruction signal based on a sensor detected using antenna 370, forexample. Processor 310 may the identify a haptic feedback profile basedon the received instruction signal (operation 420), generate a commandor control signal for haptic device(s) 355 (operation 430) and enablecontrol of haptic device 355(s) according to a haptic feedback profileby providing the command or control signal to haptic device 355(s)(operation 440). Process 400 may also be similarly implemented usingother devices such as a stylus, mouse, remote control device, or otherinput device operated by a user.

The foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limited to the preciseforms or embodiments disclosed. Modifications and adaptations of theembodiments will be apparent from consideration of the specification andpractice of the disclosed embodiments. For example, the describedimplementations include hardware and software, but systems and methodsconsistent with the present disclosure can be implemented as hardwarealone.

Computer programs based on the written description and methods of thisspecification are within the skill of a software developer. The variousprograms or program modules can be created using a variety ofprogramming techniques. For example, program sections or program modulescan be designed in or by means of Java, C, C++, assembly language, orany such programming languages. One or more of such software sections ormodules can be integrated into a computer system, non-transitorycomputer-readable media, or existing communications software.

Moreover, while illustrative embodiments have been described herein, thescope includes any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations or alterations based on the presentdisclosure. The elements in the claims are to be interpreted broadlybased on the language employed in the claims and not limited to examplesdescribed in the present specification or during the prosecution of theapplication, which examples are to be construed as non-exclusive.Further, the steps of the disclosed methods can be modified in anymanner, including by reordering steps or inserting or deleting steps. Itis intended, therefore, that the specification and examples beconsidered as exemplary only, with a true scope and spirit beingindicated by the following claims and their full scope of equivalents.

What is claimed is:
 1. A system for generating variable haptic feedback,the system comprising: a haptic device configured to generate hapticfeedback according to a control signal; an input device configured toreceive an instruction signal from a remote source, the instructionsignal comprising a haptic feedback output identifier, wherein theinstruction signal is received from an application and the instructionsignal is based on an interaction with the application; a memory devicefor storing a plurality of haptic feedback profiles, the haptic feedbackprofiles defining haptic feedback patterns characterized by a durationand intensity of feedback to be generated by a haptic device, eachhaptic feedback profile being respectively associated with a hapticfeedback output identifier; and a processor configured to generate andtransmit the control signal to the haptic device according to anidentified haptic feedback profile associated with the received hapticfeedback output identifier, the control signal corresponding to a hapticfeedback pattern defined by the identified haptic feedback profile,wherein at least one of the stored haptic feedback profiles defines ahaptic feedback pattern of variable intensity for the duration of thefeedback that emulates at least one of (i) a spoken word, (ii) a visualcharacteristic of a logo, a symbol, an insignia, a graphic, or distinctmark associated with a remote system, or (iii) a sequence of audiblesounds.
 2. The system of claim 1, further comprising: an audio outputdevice; wherein at least one of the stored haptic feedback profilesdefines audio feedback to be output from the audio output device.
 3. Thesystem of claim 1, wherein the identified haptic feedback profile isassociated with the application.
 4. The system of claim 1, wherein thesystem comprises a mobile computing device.
 5. The system of claim 1,wherein the system comprises an electronic transaction card.
 6. Thesystem of claim 1, wherein the input device comprises at least one of awireless communication modem or a cellular communication modem.
 7. Thesystem of claim 1, wherein the haptic device comprises at least one ofan electric motor, an electromagnetic actuator, a voice coil, or apiezoelectric actuator configurable to generate at least one of avariable speed vibration or a movement.
 8. The system of claim 1,wherein the control signal comprises at least one of varying amplitude,frequency, or duration according to the haptic feedback pattern of theidentified haptic feedback profile.
 9. A non-transitorycomputer-readable medium storing instructions that, when executed by aprocessor, cause the processor to perform operations comprising:receiving an instruction signal to generate haptic feedback, wherein theinstruction signal is based on an interaction with an application;identifying, based on the received instruction signal, a haptic feedbackprofile from among a plurality of haptic feedback profiles stored in amemory device, the plurality of haptic feedback profiles defining hapticfeedback patterns characterized by a duration and intensity of feedbackto be generated by a haptic device configured to generate hapticfeedback according to a control signal; generating a control signal forcontrolling a haptic device based on the identified haptic feedbackprofile; and providing the control signal to the haptic device, whereinat least one of the stored haptic feedback profiles defines a hapticfeedback pattern of variable intensity for the duration of the feedbackthat emulates at least one of (i) a spoken word, (ii) a visualcharacteristic of a logo, a symbol, an insignia, a graphic, or distinctmark associated with a remote system, or (iii) a sequence of audiblesounds.
 10. The non-transitory computer-readable medium of claim 9,wherein the interaction is associated with the completion of atransaction completed using the application.
 11. The non-transitorycomputer readable medium of claim 9, wherein the control signalcomprises at least one of varying amplitude, frequency, or durationaccording to the haptic feedback pattern of the identified hapticfeedback profile.
 12. The non-transitory computer readable medium ofclaim 9, wherein the identified haptic feedback profile is associatedwith the application.
 13. The non-transitory computer readable medium ofclaim 9, wherein at least one of the stored haptic feedback profilesdefines audio feedback to be output from an audio output device.
 14. Thenon-transitory computer readable medium of claim 9, wherein theapplication is stored on a mobile device.
 15. A computer-implementedmethod for generating variable haptic feedback comprising: receiving aninstruction signal to generate haptic feedback, wherein the instructionsignal is based on an interaction with an application; identifying,based on the received instruction signal, a haptic feedback profile fromamong a plurality of haptic feedback profiles stored in a memory device,the plurality of haptic feedback profiles defining haptic feedbackpatterns characterized by a duration and intensity of feedback to begenerated by a haptic device configured to generate haptic feedbackaccording to a control signal; generating a control signal forcontrolling a haptic device based on the identified haptic feedbackprofile; and providing the control signal to the haptic device, whereinat least one of the stored haptic feedback profiles defines a hapticfeedback pattern of variable intensity for the duration of the feedbackthat emulates at least one of (i) a spoken word, (ii) a visualcharacteristic of a logo, a symbol, an insignia, a graphic, or distinctmark associated with a remote system, or (iii) a sequence of audiblesounds.
 16. The computer-implemented method of claim 15, wherein theapplication is stored on a mobile device.
 17. The computer-implementedmethod of claim 15, wherein the control signal comprises at least one ofvarying amplitude, frequency, or duration according to the hapticfeedback pattern of the identified haptic feedback profile.
 18. Thecomputer-implemented method of claim 15, wherein the identified hapticfeedback profile is associated with the application.
 19. Thecomputer-implemented method of claim 15, wherein at least one of thestored haptic feedback profiles defines audio feedback to be output froman audio output device.
 20. The computer-implemented method of claim 15,wherein the interaction is associated with the completion of atransaction completed using the application.